package org.jix.weblog.module.admin.schedule;

import lombok.extern.slf4j.Slf4j;
import org.jix.weblog.module.common.domain.dos.StatisticsArticlePVDO;
import org.jix.weblog.module.common.domain.mapper.StatisticsArticlePVMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @version 1.0
 * @Author Jix
 * @Date 2024/9/20 15:00
 * @注释
 */

@Component
@Slf4j
public class InitPVRecordScheduledTask {
    @Autowired
    private StatisticsArticlePVMapper statisticsArticlePVMapper;

    @Scheduled(cron = "0 0 23 * * ?")//每天23点执行
    public void execute(){
        //定时任务
        log.info("==> 开始执行初始化明日 PV 访问量记录定时任务");
        //当日日期
        LocalDate currDate = LocalDate.now();
        //明日
        LocalDate tomorrowDate = currDate.plusDays(1);

        // 组装插入的记录
        StatisticsArticlePVDO articlePVDO = StatisticsArticlePVDO.builder()
                .pvDate(tomorrowDate) // 明日的文章 pv 访问量
                .pvCount(0L) // 默认阅读量为 0
                .createTime(LocalDateTime.now())
                .updateTime(LocalDateTime.now())
                .build();

        statisticsArticlePVMapper.insert(articlePVDO);
        log.info("==> 结束执行初始化明日 PV 访问量记录定时任务");
    }
}
